{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "from bs4 import BeautifulSoup\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from django.test import TestCase\n",
    "import requests\n",
    "import pandas as pd\n",
    "import sqlite3 as sqlite3_db\n",
    "from sqlalchemy import create_engine\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib import style\n",
    "from sklearn.model_selection import cross_validate, cross_val_score, train_test_split\n",
    "from sklearn import preprocessing, svm\n",
    "from sklearn.linear_model import LinearRegression,BayesianRidge \n",
    "import datetime\n",
    "import time, re"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "import time\n",
    "import pandas as pd\n",
    "from bs4 import BeautifulSoup\n",
    "import requests as sys_requests\n",
    "\n",
    "def serialization_data(code, year, quarter):\n",
    "    def get_from_sina_api(code, year, quarter):            \n",
    "        url = \"http://money.finance.sina.com.cn/corp/go.php/vMS_MarketHistory/stockid/%s.phtml?year=%s&jidu=%s\" % (\n",
    "            code, year, quarter)\n",
    "        response = sys_requests.get(url)\n",
    "        content = str(response.content, 'gbk')\n",
    "        return content\n",
    "\n",
    "    content = get_from_sina_api(code, year, quarter)\n",
    "    soup = BeautifulSoup(content, \"html.parser\")\n",
    "    shares_table = soup.find(id=\"FundHoldSharesTable\")\n",
    "    if shares_table != None:\n",
    "        stock_name = shares_table.find(\"th\").get_text().strip().split(\"年\")[0]\n",
    "        list_table = shares_table.find_all(\"tr\")\n",
    "        list_table.pop(0)\n",
    "        page_title = list_table.pop(0)\n",
    "        columns = [\"date\", \"open\", \"high\", \"close\", \"low\", \"volume\", \"volume_num\"]\n",
    "        list_date = []\n",
    "        list_open_value = []\n",
    "        list_close_value = []\n",
    "        list_low = []\n",
    "        list_high = []\n",
    "        list_volume_num = []\n",
    "        list_volume = []\n",
    "\n",
    "        for line in list_table:\n",
    "            td = line.find_all(\"td\")\n",
    "            try:\n",
    "                date = str(td[0].find(\"a\").get_text()).strip()\n",
    "            except Exception as e:\n",
    "                date = str(td[0].find(\"div\").get_text()).strip()\n",
    "            list_date.append(date)\n",
    "\n",
    "            open_value = float(str(td[1].find(\"div\").get_text()).strip())\n",
    "            list_open_value.append(open_value)\n",
    "\n",
    "            high = float(str(td[2].find(\"div\").get_text()).strip())\n",
    "            list_high.append(high)\n",
    "\n",
    "            close_value = float(str(td[3].find(\"div\").get_text()).strip())\n",
    "            list_close_value.append(close_value)\n",
    "\n",
    "            low = float(str(td[4].find(\"div\").get_text()).strip())\n",
    "            list_low.append(low)\n",
    "\n",
    "            volume_num = int(str(td[5].find(\"div\").get_text()).strip())\n",
    "            list_volume_num.append(volume_num)\n",
    "\n",
    "            volume = int(str(td[6].find(\"div\").get_text()).strip())\n",
    "            list_volume.append(volume)\n",
    "\n",
    "        dict_table = {\"date\": list_date, \"open\": list_open_value,\n",
    "                      'close': list_close_value,\n",
    "                      'high': list_high, 'low': list_low,\n",
    "                      \"volume\": list_volume,\n",
    "                      \"volume_num\": list_volume_num\n",
    "                      }\n",
    "        data = pd.DataFrame(dict_table, columns=columns)\n",
    "        data.date = pd.to_datetime(data.date)\n",
    "\n",
    "        return stock_name, data.sort_values(by=\"date\")\n",
    "\n",
    "    else:\n",
    "        raise Exception(\"该股票或日期不存在\", \"年份:%s\" % year, \"代码:%s\" % code, \"季度:%s\" % quarter)\n",
    "\n",
    "\n",
    "def load_train_data(code, year):\n",
    "    now_quarter = int(time.strftime('%m', time.localtime(time.time()))) // 4 + 1\n",
    "    now_year = int(time.strftime('%Y', time.localtime(time.time())))\n",
    "    max_quarter = 4\n",
    "    if now_year < int(year):\n",
    "        raise Exception(\"时间大于当前日期\")\n",
    "    elif now_year == int(year):\n",
    "        max_quarter = now_quarter\n",
    "    stock_name, resources = serialization_data(code, year, 1)\n",
    "    for quarter in range(2, max_quarter + 1):\n",
    "        t_name, t_resources = serialization_data(code, year, quarter)\n",
    "        resources = pd.concat([resources, t_resources], axis=0, ignore_index=True)\n",
    "    resources.sort_values(by=\"date\")\n",
    "    return stock_name, resources\n",
    "\n",
    "\n",
    "def load_train_data_by_year(code,start_year, end_year):\n",
    "    stock_name,data = load_train_data(code, start_year)\n",
    "    if end_year < start_year < 0:\n",
    "        raise Exception(\"起止日期错误\")\n",
    "    elif end_year == start_year:\n",
    "        return data\n",
    "    for year in range(start_year + 1, end_year + 1):\n",
    "        t_name, t_data = load_train_data(code, year)\n",
    "        data = pd.concat([data, t_data], axis=0, ignore_index=True)\n",
    "    data.sort_values(by=\"date\")\n",
    "    return stock_name,data\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [],
   "source": [
    "    def datetime_array2string(x):\n",
    "        XXX = datetime.datetime.utcfromtimestamp(x.tolist() / 1e9)\n",
    "        return \"%d-%d-%d\" % (XXX.year, XXX.month, XXX.day)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [],
   "source": [
    "name,data=load_train_data_by_year(\"300222\",2018,2019)\n",
    "data=data.set_index(['date'])\n",
    "data = data[['open', 'high', 'low', 'close', 'volume']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5\n",
      "<class 'pandas.core.frame.DataFrame'>\n",
      "DatetimeIndex: 424 entries, 2018-01-02 to 2019-09-26\n",
      "Data columns (total 7 columns):\n",
      "open          424 non-null float64\n",
      "high          424 non-null float64\n",
      "low           424 non-null float64\n",
      "close         424 non-null float64\n",
      "volume        424 non-null int64\n",
      "HL_PCT        424 non-null float64\n",
      "PCT_change    424 non-null float64\n",
      "dtypes: float64(6), int64(1)\n",
      "memory usage: 26.5 KB\n",
      "None\n",
      "             open   high    low  close     volume    HL_PCT  PCT_change\n",
      "date                                                                   \n",
      "2018-01-02  19.80  20.36  19.80  20.27  121567159  2.762704    2.373737\n",
      "2018-01-03  20.31  20.69  20.13  20.48  130686193  2.734375    0.837026\n",
      "2018-01-04  20.48  20.48  20.21  20.26   91413931  1.332675   -1.074219\n",
      "2018-01-05  20.30  20.51  20.23  20.30   92629391  1.379310    0.000000\n",
      "2018-01-08  20.30  20.49  20.05  20.17   89632290  2.181458   -0.640394\n",
      "             open   high    low  close     volume    HL_PCT  PCT_change\n",
      "date                                                                   \n",
      "2019-09-20  11.98  12.17  11.88  11.94   98868923  2.428811   -0.333890\n",
      "2019-09-23  11.86  11.88  11.55  11.69  103273733  2.822926   -1.433390\n",
      "2019-09-24  11.63  11.96  11.63  11.70  118311157  2.820513    0.601892\n",
      "2019-09-25  11.57  12.27  11.50  11.60  195961446  6.637931    0.259291\n",
      "2019-09-26  11.53  11.66  10.84  10.84  171863778  7.564576   -5.984389\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/media/pulsarv/5856039DD6B5374D/IdeaProjects/Library_WEB/venv_linux/lib/python3.6/site-packages/ipykernel_launcher.py:10: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  # Remove the CWD from sys.path while we load stuff.\n"
     ]
    }
   ],
   "source": [
    "data['HL_PCT'] = (data['high'] - data['low']) / data['close'] * 100.0\n",
    "data['PCT_change'] = (data['close'] - data['open']) / data['open'] * 100.0\n",
    "train_data = data[['close', 'HL_PCT', 'PCT_change', 'volume']]\n",
    "\n",
    "forecast_col = 'close'\n",
    "\n",
    "data.fillna(value=-99999, inplace=True)\n",
    "forecast_out = int(np.math.ceil(0.01 * len(data)))\n",
    "print(forecast_out)\n",
    "train_data['label'] = data[forecast_col].shift(-forecast_out)\n",
    "print(data.info())\n",
    "print(data.head())\n",
    "print(data.tail())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/media/pulsarv/5856039DD6B5374D/IdeaProjects/Library_WEB/venv_linux/lib/python3.6/site-packages/ipykernel_launcher.py:5: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \"\"\"\n"
     ]
    }
   ],
   "source": [
    "X = np.array(train_data.drop(['label'], 1))\n",
    "X = preprocessing.scale(X)\n",
    "X_lately = X[-forecast_out:]\n",
    "X = X[:-forecast_out]\n",
    "train_data.dropna(inplace=True)\n",
    "y = np.array(train_data['label'])  # print(y) print(X.shape) print(y.shape)\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.9204716301785056\n",
      "[11.90396912 11.68307633 11.66025559 11.68162438 11.06312325] 0.9204716301785056 5\n"
     ]
    }
   ],
   "source": [
    "clf = LinearRegression()\n",
    "clf.fit(X_train, y_train)\n",
    "accuracy = clf.score(X_test, y_test)\n",
    "print(accuracy)\n",
    "\n",
    "forecast_set = clf.predict(X_lately)\n",
    "print(forecast_set, accuracy, forecast_out)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "last_date: 2019-10-01 08:00:00 1569916800.0\n"
     ]
    }
   ],
   "source": [
    "style.use('ggplot')\n",
    "data['Forecast'] = np.nan\n",
    "\n",
    "# print(data.iloc[-1])\n",
    "last_date = data.iloc[-1].name\n",
    "last_unix = last_date.timestamp()\n",
    "print(\"last_date:\",last_date, last_unix)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                     open  high  low  close  volume  HL_PCT  PCT_change  \\\n",
      "date                                                                      \n",
      "2019-10-02 16:00:00   NaN   NaN  NaN    NaN     NaN     NaN         NaN   \n",
      "2019-10-03 16:00:00   NaN   NaN  NaN    NaN     NaN     NaN         NaN   \n",
      "2019-10-04 16:00:00   NaN   NaN  NaN    NaN     NaN     NaN         NaN   \n",
      "2019-10-05 16:00:00   NaN   NaN  NaN    NaN     NaN     NaN         NaN   \n",
      "2019-10-06 16:00:00   NaN   NaN  NaN    NaN     NaN     NaN         NaN   \n",
      "\n",
      "                      Forecast  \n",
      "date                            \n",
      "2019-10-02 16:00:00  11.903969  \n",
      "2019-10-03 16:00:00  11.683076  \n",
      "2019-10-04 16:00:00  11.660256  \n",
      "2019-10-05 16:00:00  11.681624  \n",
      "2019-10-06 16:00:00  11.063123  \n",
      "科大智能(300222)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "one_day = 86400\n",
    "next_unix = last_unix + one_day\n",
    "for i in forecast_set:\n",
    "    next_date = datetime.datetime.fromtimestamp(next_unix)\n",
    "    next_unix += 86400\n",
    "    data.loc[next_date] = [np.nan for _ in range(len(data.columns) - 1)] + [i]\n",
    "print(data.tail())\n",
    "print(name)\n",
    "data['close'].plot()\n",
    "data['Forecast'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['2019-09-20T08:00:00.000000000', '2019-09-21T08:00:00.000000000',\n",
       "       '2019-09-22T08:00:00.000000000', '2019-09-23T08:00:00.000000000',\n",
       "       '2019-09-24T08:00:00.000000000'], dtype='datetime64[ns]')"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.tail(forecast_out).index.values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['2019-9-20', '2019-9-21', '2019-9-22', '2019-9-23', '2019-9-24']"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list(map(datetime_array2string,data.tail(forecast_out).index.values))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>close</th>\n",
       "      <th>HL_PCT</th>\n",
       "      <th>PCT_change</th>\n",
       "      <th>volume</th>\n",
       "      <th>label</th>\n",
       "      <th>Forecast</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-01-02 00:00:00</th>\n",
       "      <td>20.27</td>\n",
       "      <td>2.762704</td>\n",
       "      <td>2.373737</td>\n",
       "      <td>121567159.0</td>\n",
       "      <td>20.46</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-03 00:00:00</th>\n",
       "      <td>20.48</td>\n",
       "      <td>2.734375</td>\n",
       "      <td>0.837026</td>\n",
       "      <td>130686193.0</td>\n",
       "      <td>19.98</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-04 00:00:00</th>\n",
       "      <td>20.26</td>\n",
       "      <td>1.332675</td>\n",
       "      <td>-1.074219</td>\n",
       "      <td>91413931.0</td>\n",
       "      <td>20.62</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-05 00:00:00</th>\n",
       "      <td>20.30</td>\n",
       "      <td>1.379310</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>92629391.0</td>\n",
       "      <td>19.98</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-08 00:00:00</th>\n",
       "      <td>20.17</td>\n",
       "      <td>2.181458</td>\n",
       "      <td>-0.640394</td>\n",
       "      <td>89632290.0</td>\n",
       "      <td>19.44</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-09 00:00:00</th>\n",
       "      <td>20.46</td>\n",
       "      <td>2.932551</td>\n",
       "      <td>1.387512</td>\n",
       "      <td>120898705.0</td>\n",
       "      <td>19.42</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-10 00:00:00</th>\n",
       "      <td>19.98</td>\n",
       "      <td>2.802803</td>\n",
       "      <td>-1.818182</td>\n",
       "      <td>110297831.0</td>\n",
       "      <td>19.52</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-11 00:00:00</th>\n",
       "      <td>20.62</td>\n",
       "      <td>5.674103</td>\n",
       "      <td>4.088844</td>\n",
       "      <td>215648445.0</td>\n",
       "      <td>20.15</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-12 00:00:00</th>\n",
       "      <td>19.98</td>\n",
       "      <td>2.752753</td>\n",
       "      <td>-2.346041</td>\n",
       "      <td>129151244.0</td>\n",
       "      <td>19.97</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-15 00:00:00</th>\n",
       "      <td>19.44</td>\n",
       "      <td>4.269547</td>\n",
       "      <td>-3.187251</td>\n",
       "      <td>102490046.0</td>\n",
       "      <td>20.89</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-16 00:00:00</th>\n",
       "      <td>19.42</td>\n",
       "      <td>2.008239</td>\n",
       "      <td>0.361757</td>\n",
       "      <td>67579643.0</td>\n",
       "      <td>20.80</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-17 00:00:00</th>\n",
       "      <td>19.52</td>\n",
       "      <td>4.354508</td>\n",
       "      <td>0.514933</td>\n",
       "      <td>105755436.0</td>\n",
       "      <td>21.39</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-18 00:00:00</th>\n",
       "      <td>20.15</td>\n",
       "      <td>4.119107</td>\n",
       "      <td>3.386352</td>\n",
       "      <td>151600177.0</td>\n",
       "      <td>20.98</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-19 00:00:00</th>\n",
       "      <td>19.97</td>\n",
       "      <td>2.403605</td>\n",
       "      <td>-0.547809</td>\n",
       "      <td>78390246.0</td>\n",
       "      <td>21.06</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-22 00:00:00</th>\n",
       "      <td>20.89</td>\n",
       "      <td>11.201532</td>\n",
       "      <td>5.292339</td>\n",
       "      <td>304160442.0</td>\n",
       "      <td>20.74</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-23 00:00:00</th>\n",
       "      <td>20.80</td>\n",
       "      <td>3.221154</td>\n",
       "      <td>0.775194</td>\n",
       "      <td>145077203.0</td>\n",
       "      <td>21.12</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-24 00:00:00</th>\n",
       "      <td>21.39</td>\n",
       "      <td>5.703600</td>\n",
       "      <td>3.583535</td>\n",
       "      <td>253605671.0</td>\n",
       "      <td>20.75</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-25 00:00:00</th>\n",
       "      <td>20.98</td>\n",
       "      <td>3.098189</td>\n",
       "      <td>-1.224105</td>\n",
       "      <td>176118740.0</td>\n",
       "      <td>19.07</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-26 00:00:00</th>\n",
       "      <td>21.06</td>\n",
       "      <td>3.893637</td>\n",
       "      <td>1.347449</td>\n",
       "      <td>117321023.0</td>\n",
       "      <td>19.26</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-29 00:00:00</th>\n",
       "      <td>20.74</td>\n",
       "      <td>3.037608</td>\n",
       "      <td>-1.472684</td>\n",
       "      <td>95810458.0</td>\n",
       "      <td>19.51</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-30 00:00:00</th>\n",
       "      <td>21.12</td>\n",
       "      <td>4.356061</td>\n",
       "      <td>2.028986</td>\n",
       "      <td>131859373.0</td>\n",
       "      <td>18.04</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-31 00:00:00</th>\n",
       "      <td>20.75</td>\n",
       "      <td>3.518072</td>\n",
       "      <td>-1.518747</td>\n",
       "      <td>165223875.0</td>\n",
       "      <td>18.34</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-01 00:00:00</th>\n",
       "      <td>19.07</td>\n",
       "      <td>9.858416</td>\n",
       "      <td>-7.696031</td>\n",
       "      <td>181691746.0</td>\n",
       "      <td>18.71</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-02 00:00:00</th>\n",
       "      <td>19.26</td>\n",
       "      <td>4.880582</td>\n",
       "      <td>1.904762</td>\n",
       "      <td>85683802.0</td>\n",
       "      <td>18.06</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-05 00:00:00</th>\n",
       "      <td>19.51</td>\n",
       "      <td>7.278319</td>\n",
       "      <td>2.414698</td>\n",
       "      <td>79713735.0</td>\n",
       "      <td>18.75</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-06 00:00:00</th>\n",
       "      <td>18.04</td>\n",
       "      <td>9.090909</td>\n",
       "      <td>-5.401154</td>\n",
       "      <td>137846825.0</td>\n",
       "      <td>18.53</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-07 00:00:00</th>\n",
       "      <td>18.34</td>\n",
       "      <td>5.725191</td>\n",
       "      <td>-0.971922</td>\n",
       "      <td>99857667.0</td>\n",
       "      <td>18.63</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-08 00:00:00</th>\n",
       "      <td>18.71</td>\n",
       "      <td>3.474078</td>\n",
       "      <td>1.961853</td>\n",
       "      <td>61892393.0</td>\n",
       "      <td>19.30</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-09 00:00:00</th>\n",
       "      <td>18.06</td>\n",
       "      <td>4.152824</td>\n",
       "      <td>0.166389</td>\n",
       "      <td>88069298.0</td>\n",
       "      <td>19.14</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-12 00:00:00</th>\n",
       "      <td>18.75</td>\n",
       "      <td>3.893333</td>\n",
       "      <td>2.852441</td>\n",
       "      <td>78793758.0</td>\n",
       "      <td>20.00</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-08-15 00:00:00</th>\n",
       "      <td>10.31</td>\n",
       "      <td>4.364694</td>\n",
       "      <td>3.203203</td>\n",
       "      <td>96066431.0</td>\n",
       "      <td>11.14</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-08-16 00:00:00</th>\n",
       "      <td>10.51</td>\n",
       "      <td>4.757374</td>\n",
       "      <td>2.137998</td>\n",
       "      <td>135821725.0</td>\n",
       "      <td>11.04</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-08-19 00:00:00</th>\n",
       "      <td>11.09</td>\n",
       "      <td>4.328224</td>\n",
       "      <td>3.548086</td>\n",
       "      <td>177478124.0</td>\n",
       "      <td>11.10</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-08-20 00:00:00</th>\n",
       "      <td>11.14</td>\n",
       "      <td>3.141831</td>\n",
       "      <td>0.723327</td>\n",
       "      <td>164618428.0</td>\n",
       "      <td>11.49</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-08-21 00:00:00</th>\n",
       "      <td>11.07</td>\n",
       "      <td>1.626016</td>\n",
       "      <td>-0.628366</td>\n",
       "      <td>95532804.0</td>\n",
       "      <td>11.35</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-08-22 00:00:00</th>\n",
       "      <td>11.14</td>\n",
       "      <td>1.885099</td>\n",
       "      <td>0.360360</td>\n",
       "      <td>93370128.0</td>\n",
       "      <td>11.21</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-08-23 00:00:00</th>\n",
       "      <td>11.04</td>\n",
       "      <td>2.626812</td>\n",
       "      <td>-1.075269</td>\n",
       "      <td>94767799.0</td>\n",
       "      <td>10.86</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-08-26 00:00:00</th>\n",
       "      <td>11.10</td>\n",
       "      <td>7.477477</td>\n",
       "      <td>4.716981</td>\n",
       "      <td>163240148.0</td>\n",
       "      <td>11.30</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-08-27 00:00:00</th>\n",
       "      <td>11.49</td>\n",
       "      <td>4.177546</td>\n",
       "      <td>2.315227</td>\n",
       "      <td>228821174.0</td>\n",
       "      <td>11.42</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-08-28 00:00:00</th>\n",
       "      <td>11.35</td>\n",
       "      <td>2.995595</td>\n",
       "      <td>-2.155172</td>\n",
       "      <td>201397992.0</td>\n",
       "      <td>11.67</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-08-29 00:00:00</th>\n",
       "      <td>11.21</td>\n",
       "      <td>2.854594</td>\n",
       "      <td>-0.620567</td>\n",
       "      <td>168991793.0</td>\n",
       "      <td>11.73</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-08-30 00:00:00</th>\n",
       "      <td>10.86</td>\n",
       "      <td>5.156538</td>\n",
       "      <td>-4.401408</td>\n",
       "      <td>133378199.0</td>\n",
       "      <td>11.94</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-02 00:00:00</th>\n",
       "      <td>11.30</td>\n",
       "      <td>4.424779</td>\n",
       "      <td>3.764922</td>\n",
       "      <td>168685304.0</td>\n",
       "      <td>12.42</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-03 00:00:00</th>\n",
       "      <td>11.42</td>\n",
       "      <td>3.064799</td>\n",
       "      <td>0.175439</td>\n",
       "      <td>188233724.0</td>\n",
       "      <td>12.17</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-04 00:00:00</th>\n",
       "      <td>11.67</td>\n",
       "      <td>3.084833</td>\n",
       "      <td>1.743679</td>\n",
       "      <td>217207400.0</td>\n",
       "      <td>12.13</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-05 00:00:00</th>\n",
       "      <td>11.73</td>\n",
       "      <td>4.177323</td>\n",
       "      <td>-0.085179</td>\n",
       "      <td>265888232.0</td>\n",
       "      <td>12.44</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-06 00:00:00</th>\n",
       "      <td>11.94</td>\n",
       "      <td>4.271357</td>\n",
       "      <td>0.167785</td>\n",
       "      <td>232149859.0</td>\n",
       "      <td>12.37</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-09 00:00:00</th>\n",
       "      <td>12.42</td>\n",
       "      <td>4.428341</td>\n",
       "      <td>2.985075</td>\n",
       "      <td>266367634.0</td>\n",
       "      <td>11.82</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-10 00:00:00</th>\n",
       "      <td>12.17</td>\n",
       "      <td>2.958094</td>\n",
       "      <td>-1.775626</td>\n",
       "      <td>213002930.0</td>\n",
       "      <td>11.80</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-11 00:00:00</th>\n",
       "      <td>12.13</td>\n",
       "      <td>1.566364</td>\n",
       "      <td>-0.736498</td>\n",
       "      <td>144054650.0</td>\n",
       "      <td>11.97</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-12 00:00:00</th>\n",
       "      <td>12.44</td>\n",
       "      <td>3.295820</td>\n",
       "      <td>2.471170</td>\n",
       "      <td>171428127.0</td>\n",
       "      <td>11.94</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-16 00:00:00</th>\n",
       "      <td>12.37</td>\n",
       "      <td>2.667745</td>\n",
       "      <td>0.405844</td>\n",
       "      <td>180110012.0</td>\n",
       "      <td>11.69</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-17 00:00:00</th>\n",
       "      <td>11.82</td>\n",
       "      <td>4.737733</td>\n",
       "      <td>-3.902439</td>\n",
       "      <td>187244295.0</td>\n",
       "      <td>11.70</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-18 00:00:00</th>\n",
       "      <td>11.80</td>\n",
       "      <td>2.118644</td>\n",
       "      <td>-0.589722</td>\n",
       "      <td>90885938.0</td>\n",
       "      <td>11.60</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-19 00:00:00</th>\n",
       "      <td>11.97</td>\n",
       "      <td>1.837928</td>\n",
       "      <td>1.097973</td>\n",
       "      <td>82309600.0</td>\n",
       "      <td>10.84</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-20 08:00:00</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>11.814748</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-21 08:00:00</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>11.591446</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-22 08:00:00</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>11.599120</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-23 08:00:00</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>11.753805</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-09-24 08:00:00</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>11.076515</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>424 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                     close     HL_PCT  PCT_change       volume  label  \\\n",
       "date                                                                    \n",
       "2018-01-02 00:00:00  20.27   2.762704    2.373737  121567159.0  20.46   \n",
       "2018-01-03 00:00:00  20.48   2.734375    0.837026  130686193.0  19.98   \n",
       "2018-01-04 00:00:00  20.26   1.332675   -1.074219   91413931.0  20.62   \n",
       "2018-01-05 00:00:00  20.30   1.379310    0.000000   92629391.0  19.98   \n",
       "2018-01-08 00:00:00  20.17   2.181458   -0.640394   89632290.0  19.44   \n",
       "2018-01-09 00:00:00  20.46   2.932551    1.387512  120898705.0  19.42   \n",
       "2018-01-10 00:00:00  19.98   2.802803   -1.818182  110297831.0  19.52   \n",
       "2018-01-11 00:00:00  20.62   5.674103    4.088844  215648445.0  20.15   \n",
       "2018-01-12 00:00:00  19.98   2.752753   -2.346041  129151244.0  19.97   \n",
       "2018-01-15 00:00:00  19.44   4.269547   -3.187251  102490046.0  20.89   \n",
       "2018-01-16 00:00:00  19.42   2.008239    0.361757   67579643.0  20.80   \n",
       "2018-01-17 00:00:00  19.52   4.354508    0.514933  105755436.0  21.39   \n",
       "2018-01-18 00:00:00  20.15   4.119107    3.386352  151600177.0  20.98   \n",
       "2018-01-19 00:00:00  19.97   2.403605   -0.547809   78390246.0  21.06   \n",
       "2018-01-22 00:00:00  20.89  11.201532    5.292339  304160442.0  20.74   \n",
       "2018-01-23 00:00:00  20.80   3.221154    0.775194  145077203.0  21.12   \n",
       "2018-01-24 00:00:00  21.39   5.703600    3.583535  253605671.0  20.75   \n",
       "2018-01-25 00:00:00  20.98   3.098189   -1.224105  176118740.0  19.07   \n",
       "2018-01-26 00:00:00  21.06   3.893637    1.347449  117321023.0  19.26   \n",
       "2018-01-29 00:00:00  20.74   3.037608   -1.472684   95810458.0  19.51   \n",
       "2018-01-30 00:00:00  21.12   4.356061    2.028986  131859373.0  18.04   \n",
       "2018-01-31 00:00:00  20.75   3.518072   -1.518747  165223875.0  18.34   \n",
       "2018-02-01 00:00:00  19.07   9.858416   -7.696031  181691746.0  18.71   \n",
       "2018-02-02 00:00:00  19.26   4.880582    1.904762   85683802.0  18.06   \n",
       "2018-02-05 00:00:00  19.51   7.278319    2.414698   79713735.0  18.75   \n",
       "2018-02-06 00:00:00  18.04   9.090909   -5.401154  137846825.0  18.53   \n",
       "2018-02-07 00:00:00  18.34   5.725191   -0.971922   99857667.0  18.63   \n",
       "2018-02-08 00:00:00  18.71   3.474078    1.961853   61892393.0  19.30   \n",
       "2018-02-09 00:00:00  18.06   4.152824    0.166389   88069298.0  19.14   \n",
       "2018-02-12 00:00:00  18.75   3.893333    2.852441   78793758.0  20.00   \n",
       "...                    ...        ...         ...          ...    ...   \n",
       "2019-08-15 00:00:00  10.31   4.364694    3.203203   96066431.0  11.14   \n",
       "2019-08-16 00:00:00  10.51   4.757374    2.137998  135821725.0  11.04   \n",
       "2019-08-19 00:00:00  11.09   4.328224    3.548086  177478124.0  11.10   \n",
       "2019-08-20 00:00:00  11.14   3.141831    0.723327  164618428.0  11.49   \n",
       "2019-08-21 00:00:00  11.07   1.626016   -0.628366   95532804.0  11.35   \n",
       "2019-08-22 00:00:00  11.14   1.885099    0.360360   93370128.0  11.21   \n",
       "2019-08-23 00:00:00  11.04   2.626812   -1.075269   94767799.0  10.86   \n",
       "2019-08-26 00:00:00  11.10   7.477477    4.716981  163240148.0  11.30   \n",
       "2019-08-27 00:00:00  11.49   4.177546    2.315227  228821174.0  11.42   \n",
       "2019-08-28 00:00:00  11.35   2.995595   -2.155172  201397992.0  11.67   \n",
       "2019-08-29 00:00:00  11.21   2.854594   -0.620567  168991793.0  11.73   \n",
       "2019-08-30 00:00:00  10.86   5.156538   -4.401408  133378199.0  11.94   \n",
       "2019-09-02 00:00:00  11.30   4.424779    3.764922  168685304.0  12.42   \n",
       "2019-09-03 00:00:00  11.42   3.064799    0.175439  188233724.0  12.17   \n",
       "2019-09-04 00:00:00  11.67   3.084833    1.743679  217207400.0  12.13   \n",
       "2019-09-05 00:00:00  11.73   4.177323   -0.085179  265888232.0  12.44   \n",
       "2019-09-06 00:00:00  11.94   4.271357    0.167785  232149859.0  12.37   \n",
       "2019-09-09 00:00:00  12.42   4.428341    2.985075  266367634.0  11.82   \n",
       "2019-09-10 00:00:00  12.17   2.958094   -1.775626  213002930.0  11.80   \n",
       "2019-09-11 00:00:00  12.13   1.566364   -0.736498  144054650.0  11.97   \n",
       "2019-09-12 00:00:00  12.44   3.295820    2.471170  171428127.0  11.94   \n",
       "2019-09-16 00:00:00  12.37   2.667745    0.405844  180110012.0  11.69   \n",
       "2019-09-17 00:00:00  11.82   4.737733   -3.902439  187244295.0  11.70   \n",
       "2019-09-18 00:00:00  11.80   2.118644   -0.589722   90885938.0  11.60   \n",
       "2019-09-19 00:00:00  11.97   1.837928    1.097973   82309600.0  10.84   \n",
       "2019-09-20 08:00:00    NaN        NaN         NaN          NaN    NaN   \n",
       "2019-09-21 08:00:00    NaN        NaN         NaN          NaN    NaN   \n",
       "2019-09-22 08:00:00    NaN        NaN         NaN          NaN    NaN   \n",
       "2019-09-23 08:00:00    NaN        NaN         NaN          NaN    NaN   \n",
       "2019-09-24 08:00:00    NaN        NaN         NaN          NaN    NaN   \n",
       "\n",
       "                      Forecast  \n",
       "date                            \n",
       "2018-01-02 00:00:00        NaN  \n",
       "2018-01-03 00:00:00        NaN  \n",
       "2018-01-04 00:00:00        NaN  \n",
       "2018-01-05 00:00:00        NaN  \n",
       "2018-01-08 00:00:00        NaN  \n",
       "2018-01-09 00:00:00        NaN  \n",
       "2018-01-10 00:00:00        NaN  \n",
       "2018-01-11 00:00:00        NaN  \n",
       "2018-01-12 00:00:00        NaN  \n",
       "2018-01-15 00:00:00        NaN  \n",
       "2018-01-16 00:00:00        NaN  \n",
       "2018-01-17 00:00:00        NaN  \n",
       "2018-01-18 00:00:00        NaN  \n",
       "2018-01-19 00:00:00        NaN  \n",
       "2018-01-22 00:00:00        NaN  \n",
       "2018-01-23 00:00:00        NaN  \n",
       "2018-01-24 00:00:00        NaN  \n",
       "2018-01-25 00:00:00        NaN  \n",
       "2018-01-26 00:00:00        NaN  \n",
       "2018-01-29 00:00:00        NaN  \n",
       "2018-01-30 00:00:00        NaN  \n",
       "2018-01-31 00:00:00        NaN  \n",
       "2018-02-01 00:00:00        NaN  \n",
       "2018-02-02 00:00:00        NaN  \n",
       "2018-02-05 00:00:00        NaN  \n",
       "2018-02-06 00:00:00        NaN  \n",
       "2018-02-07 00:00:00        NaN  \n",
       "2018-02-08 00:00:00        NaN  \n",
       "2018-02-09 00:00:00        NaN  \n",
       "2018-02-12 00:00:00        NaN  \n",
       "...                        ...  \n",
       "2019-08-15 00:00:00        NaN  \n",
       "2019-08-16 00:00:00        NaN  \n",
       "2019-08-19 00:00:00        NaN  \n",
       "2019-08-20 00:00:00        NaN  \n",
       "2019-08-21 00:00:00        NaN  \n",
       "2019-08-22 00:00:00        NaN  \n",
       "2019-08-23 00:00:00        NaN  \n",
       "2019-08-26 00:00:00        NaN  \n",
       "2019-08-27 00:00:00        NaN  \n",
       "2019-08-28 00:00:00        NaN  \n",
       "2019-08-29 00:00:00        NaN  \n",
       "2019-08-30 00:00:00        NaN  \n",
       "2019-09-02 00:00:00        NaN  \n",
       "2019-09-03 00:00:00        NaN  \n",
       "2019-09-04 00:00:00        NaN  \n",
       "2019-09-05 00:00:00        NaN  \n",
       "2019-09-06 00:00:00        NaN  \n",
       "2019-09-09 00:00:00        NaN  \n",
       "2019-09-10 00:00:00        NaN  \n",
       "2019-09-11 00:00:00        NaN  \n",
       "2019-09-12 00:00:00        NaN  \n",
       "2019-09-16 00:00:00        NaN  \n",
       "2019-09-17 00:00:00        NaN  \n",
       "2019-09-18 00:00:00        NaN  \n",
       "2019-09-19 00:00:00        NaN  \n",
       "2019-09-20 08:00:00  11.814748  \n",
       "2019-09-21 08:00:00  11.591446  \n",
       "2019-09-22 08:00:00  11.599120  \n",
       "2019-09-23 08:00:00  11.753805  \n",
       "2019-09-24 08:00:00  11.076515  \n",
       "\n",
       "[424 rows x 6 columns]"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  },
  "pycharm": {
   "stem_cell": {
    "cell_type": "raw",
    "metadata": {
     "collapsed": false
    },
    "source": []
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
